package com.letian.record.service;

import java.util.List;
import com.letian.record.domain.RecordGenealogyMember;
import com.letian.record.domain.RecordGenealogyMemberVo;

/**
 * 族谱成员Service接口
 * 
 * @author bmz
 * @date 2025-07-20
 */
public interface IRecordGenealogyMemberService 
{

    public List<RecordGenealogyMemberVo> getMemberTreeByGenealogyId(Long genealogyId);
    /**
     * 查询族谱成员
     * 
     * @param genealogyMemberId 族谱成员主键
     * @return 族谱成员
     */
    public RecordGenealogyMember selectRecordGenealogyMemberByGenealogyMemberId(Long genealogyMemberId);

    /**
     * 查询族谱成员列表
     * 
     * @param recordGenealogyMember 族谱成员
     * @return 族谱成员集合
     */
    public List<RecordGenealogyMember> selectRecordGenealogyMemberList(RecordGenealogyMember recordGenealogyMember);

    /**
     * 新增族谱成员
     * 
     * @param recordGenealogyMember 族谱成员
     * @return 结果
     */
    public int insertRecordGenealogyMember(RecordGenealogyMember recordGenealogyMember);

    /**
     * 修改族谱成员
     * 
     * @param recordGenealogyMember 族谱成员
     * @return 结果
     */
    public int updateRecordGenealogyMember(RecordGenealogyMember recordGenealogyMember);

    /**
     * 批量删除族谱成员
     * 
     * @param genealogyMemberIds 需要删除的族谱成员主键集合
     * @return 结果
     */
    public int deleteRecordGenealogyMemberByGenealogyMemberIds(Long[] genealogyMemberIds);

    /**
     * 删除族谱成员信息
     * 
     * @param genealogyMemberId 族谱成员主键
     * @return 结果
     */
    public int deleteRecordGenealogyMemberByGenealogyMemberId(Long genealogyMemberId);
}
